sunxi: Fix gmac not working reliable on the Bananapi
authorHans de Goede <[email protected]>
Tue, 30 Sep 2014 16:45:32 +0000 (18:45 +0200)
committerTom Rini <[email protected]>
Wed, 8 Oct 2014 15:19:46 +0000 (11:19 -0400)
commitf885b849681ce0f15c2df313f38ae06a601be506
treefd25be47f6ed8403844c5e6847ba1bf1fdc37176
parentdd0204e48d05f41480743a798b94d5484b664639
sunxi: Fix gmac not working reliable on the Bananapi

In order for the gmac nic to work reliable on the Bananapi, we need to set
bits 10-12 GTXDC "GMAC Transmit Clock Delay Chain" of the GMAC clk register
(0x01c20164) to 3.

Without this about 9 out of 10 ethernet packets get lost, with this setting
there is no packet loss.

So far setting these bits is only necessary on the Bananapi, so this commit
solves this with a bit of #ifdef CONFIG_BANANAPI code. If in the future we
need to do something similar for other boards, we can create a specific
CONFIG_FOO option for this then.

Reported-by: Karsten Merker <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Tested-by: Karsten Merker <[email protected]>
Tested-by: Zoltan HERPAI <[email protected]>
Tested-by: Tony Zhang <[email protected]>
Acked-by: Ian Campbell <[email protected]>
board/sunxi/gmac.c